package battleenum

// ==============================================================
// 枚举
//

type SceneFlags int

const (
	// 强制直线移动
	SceneFlags_MoveLine SceneFlags = iota
	//
)

type SceneState uint

const (
	// 暂停
	// 定时器停止
	SceneState_Pause SceneState = 1 << iota
	// 停止
	// 场景是否已经停止, 通常用于世界结束后, 停止世界
	SceneState_Stop

	// 抑制活力恢复
	SceneState_Destroy

	// 抑制活力恢复
	SceneState_VitalRegenSuppressed
)

// @desc
type SceneProp int

// 场景的属性
const (
	SceneProp_State SceneProp = iota
	SceneProp_IsPause
	SceneProp_Footprint
)

// ==============================================================
// 枚举
//

// @schema_go
// @alias 地形的类型
type D地形的类型 int

const (
	// 贴片-六边形
	D地形的类型_六边形 D地形的类型 = iota

	// 贴片-正方形
	D地形的类型_正方形

	// 贴片-War3
	D地形的类型_War3
)

// @schema_go
// @alias 场景地形标旗
type C场景地形标旗 int

const (
	C场景地形标旗_未知 C场景地形标旗 = iota
)

// @schema_go
// @alias 地形类型
type D地形类型 int

const (
	D地形类型_正方形 D地形类型 = iota

	D地形类型_六边形
)

// @schema_go
// @schema_ts
// @cache_ts
// @alias 站位
type Z站位 int

const (
	// 单位可以在地图任意一点
	Z站位_点 Z站位 = iota

	// 单位的站位以单元格为单位
	Z站位_单元格
)

// @schema_go
// @schema_ts
// @cache_ts
// @alias 支援阶段
type Z支援阶段 int

const (
	Z支援阶段_未知 Z支援阶段 = iota
	Z支援阶段_开始
	Z支援阶段_到达等待
	// 到达后会先出一次兵，设置出兵一次出兵阶段
	Z支援阶段_到达
	Z支援阶段_出兵等待
	Z支援阶段_出兵
	// 出兵已经完成，根据【结束模式】检查是否结束
	Z支援阶段_结束等待
	Z支援阶段_结束
	Z支援阶段_重置等待
	Z支援阶段_重置
	// 结束后，并且完成重置次数后，才会停止
	Z支援阶段_停止
	// 停止后，会等待一段时间，然后开始后援
	Z支援阶段_后援等待
	Z支援阶段_后援
)

// @schema_go
// @schema_ts
// @cache_ts
// @alias 支援状态
type Z支援状态 int

const (
	Z支援状态_开始 Z支援状态 = iota
	Z支援状态_结束
)

// @schema_go
// @schema_ts
// @cache_ts
// @alias 结束模式
type E结束模式 int

const (
	// 消灭所有支援的单位后，直接进入下一波次。否则直到【限制时长】后才进入下一波
	E结束模式_优先消灭单位 E结束模式 = iota
	// 直到【限制时长】,才能进入下一波次.
	E结束模式_强制限制时长
	// 直到消灭所有支援的单位，才能进入下一波次.
	E结束模式_强制消灭单位
)
